home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / libelf / elf_flag.z / elf_flag
Encoding:
Text File  |  1998-10-30  |  9.4 KB  |  130 lines

  1.  
  2.  
  3.  
  4. EEEELLLLFFFF____FFFFLLLLAAAAGGGG((((3333EEEE))))                                                      EEEELLLLFFFF____FFFFLLLLAAAAGGGG((((3333EEEE))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _eeee_llll_ffff______ffff_llll_aaaa_gggg_dddd_aaaa_tttt_aaaa_,,,, _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_hhhh_dddd_rrrr_,,,, _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_llll_ffff_,,,, _eeee_llll_ffff______ffff_llll_aaaa_gggg_pppp_hhhh_dddd_rrrr_,,,, _eeee_llll_ffff______ffff_llll_aaaa_gggg_ssss_cccc_nnnn_,,,,
  10.      _eeee_llll_ffff______ffff_llll_aaaa_gggg_ssss_hhhh_dddd_rrrr - manipulate flags
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      _cccc_cccc [_f_l_a_g ...] _f_i_l_e ...  _----_llll_eeee_llll_ffff [_l_i_b_r_a_r_y ...]
  14.  
  15.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_eeee_llll_ffff_...._hhhh_>>>>
  16.      _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _eeee_llll_ffff______ffff_llll_aaaa_gggg_dddd_aaaa_tttt_aaaa_((((_EEEE_llll_ffff______DDDD_aaaa_tttt_aaaa _****_dddd_aaaa_tttt_aaaa_,,,, _EEEE_llll_ffff______CCCC_mmmm_dddd _cccc_mmmm_dddd_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ffff_llll_aaaa_gggg_ssss_))))_;;;;
  17.      _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_,,,, _EEEE_llll_ffff______CCCC_mmmm_dddd _cccc_mmmm_dddd_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ffff_llll_aaaa_gggg_ssss_))))_;;;;
  18.      _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_llll_ffff_((((_EEEE_llll_ffff _****_eeee_llll_ffff_,,,, _EEEE_llll_ffff______CCCC_mmmm_dddd _cccc_mmmm_dddd_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ffff_llll_aaaa_gggg_ssss_))))_;;;;
  19.      _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _eeee_llll_ffff______ffff_llll_aaaa_gggg_pppp_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_,,,, _EEEE_llll_ffff______CCCC_mmmm_dddd _cccc_mmmm_dddd_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ffff_llll_aaaa_gggg_ssss_))))_;;;;
  20.      _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _eeee_llll_ffff______ffff_llll_aaaa_gggg_ssss_cccc_nnnn_((((_EEEE_llll_ffff______SSSS_cccc_nnnn _****_ssss_cccc_nnnn_,,,, _EEEE_llll_ffff______CCCC_mmmm_dddd _cccc_mmmm_dddd_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ffff_llll_aaaa_gggg_ssss_))))_;;;;
  21.      _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _eeee_llll_ffff______ffff_llll_aaaa_gggg_ssss_hhhh_dddd_rrrr_((((_EEEE_llll_ffff______SSSS_cccc_nnnn _****_ssss_cccc_nnnn_,,,, _EEEE_llll_ffff______CCCC_mmmm_dddd _cccc_mmmm_dddd_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _ffff_llll_aaaa_gggg_ssss_))))_;;;;
  22.  
  23. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  24.      These functions manipulate the flags associated with various structures
  25.      of an ELF file.  Given an ELF descriptor (_e_l_f), a data descriptor (_d_a_t_a),
  26.      or a section descriptor (_s_c_n), the functions may set or clear the
  27.      associated status bits, returning the updated bits.  A null descriptor is
  28.      allowed, to simplify error handling; all functions return zero for this
  29.      degenerate case.
  30.  
  31.      _c_m_d may have the following values.
  32.  
  33.      _EEEE_LLLL_FFFF______CCCC______CCCC_LLLL_RRRR         The functions clear the bits that are asserted in
  34.                        _f_l_a_g_s.  Only the non-zero bits in _f_l_a_g_s are cleared;
  35.                        zero bits do not change the status of the descriptor.
  36.  
  37.      _EEEE_LLLL_FFFF______CCCC______SSSS_EEEE_TTTT         The functions set the bits that are asserted in _f_l_a_g_s.
  38.                        Only the non-zero bits in _f_l_a_g_s are set; zero bits do
  39.                        not change the status of the descriptor.
  40.  
  41.      Descriptions of the defined _f_l_a_g_s bits appear below.
  42.  
  43.      _EEEE_LLLL_FFFF______FFFF______DDDD_IIII_RRRR_TTTT_YYYY       When the program intends to write an ELF file, this
  44.                        flag asserts the associated information needs to be
  45.                        written to the file.  Thus, for example, a program that
  46.                        wished to update the ELF header of an existing file
  47.                        would call _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_hhhh_dddd_rrrr with this bit set in _f_l_a_g_s and
  48.                        _c_m_d equal to _EEEE_LLLL_FFFF______CCCC______SSSS_EEEE_TTTT.  A later call to _eeee_llll_ffff______uuuu_pppp_dddd_aaaa_tttt_eeee
  49.                        would write the marked header to the file.
  50.  
  51.      _EEEE_LLLL_FFFF______FFFF______LLLL_AAAA_YYYY_OOOO_UUUU_TTTT      Normally, the library decides how to arrange an output
  52.                        file.  That is, it automatically decides where to place
  53.                        sections, how to align them in the file, etc.  If this
  54.                        bit is set for an ELF descriptor, the program assumes
  55.                        responsibility for determining all file positions.
  56.                        This bit is meaningful only for _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_llll_ffff and applies
  57.  
  58.  
  59.  
  60.                                                                         PPPPaaaaggggeeee 1111
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. EEEELLLLFFFF____FFFFLLLLAAAAGGGG((((3333EEEE))))                                                      EEEELLLLFFFF____FFFFLLLLAAAAGGGG((((3333EEEE))))
  68.  
  69.  
  70.  
  71.                        to the entire file associated with the descriptor.
  72.  
  73.      When a flag bit is set for an item, it affects all the subitems as well.
  74.      Thus, for example, if the program sets the _EEEE_LLLL_FFFF______FFFF______DDDD_IIII_RRRR_TTTT_YYYY bit with
  75.      _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_llll_ffff, the entire logical file is ``dirty.''
  76.  
  77. EEEEXXXXAAAAMMMMPPPPLLLLEEEE
  78.      The following fragment shows how one might mark the ELF header to be
  79.      written to the output file.
  80.  
  81.           _eeee_hhhh_dddd_rrrr _==== _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr_((((_eeee_llll_ffff_))))_;;;;
  82.           _////_**** _dddd_iiii_rrrr_tttt_yyyy _eeee_hhhh_dddd_rrrr _...._...._.... _****_////
  83.           _eeee_llll_ffff______ffff_llll_aaaa_gggg_eeee_hhhh_dddd_rrrr_((((_eeee_llll_ffff_,,,, _EEEE_LLLL_FFFF______CCCC______SSSS_EEEE_TTTT_,,,, _EEEE_LLLL_FFFF______FFFF______DDDD_IIII_RRRR_TTTT_YYYY_))))_;;;;
  84.  
  85. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  86.      _eeee_llll_ffff(3E), _eeee_llll_ffff______eeee_nnnn_dddd(3E), _eeee_llll_ffff______gggg_eeee_tttt_dddd_aaaa_tttt_aaaa(3E), _eeee_llll_ffff______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr(3E), _eeee_llll_ffff______uuuu_pppp_dddd_aaaa_tttt_eeee(3E).
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.                                                                         PPPPaaaaggggeeee 2222
  127.  
  128.  
  129.  
  130.